Biblioteka.отд
Главная     ◄Глагол     ◄Азбука     ◄Задачи на Глаголе     Примеры приложений ►   Среда разработки ►   Отладка программ ►   Отличия от Оберона ►   Отличия от Паскаля ►   Ассемблер ARM ►   Глагол для ARM ►   ? и Ответы
 
 glagol.png Программируем по-русски
 

Основная задача Глагола — дать человеку возможность воплощать свои мысли на языке, близком к его родному языку.

Издатель Глагола
 

 

(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
                           ОТДЕЛ Biblioteka+;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
(* НАЗНАЧЕНИЕ: динамически подключаемая библиотека для "ИспБиблиотеки"        *)
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ИСПОЛЬЗУЕТ
  ОБХОД,
  Асм   ИЗ "...\Отделы\Иное\",
  Вывод ИЗ "...\Отделы\Обмен\";
ПЕР                             (* приёмники загрузки ДПБ *)
  hInstance,reason,param:ЦЕЛ;
ВИД
  Набор = НАБОР
    ц:ЦЕЛ;
    в:ВЕЩ;
  КОН;

ЗАДАЧА GetModuleFileName(
     hModule:ЦЕЛ;
     lpFilename+:ЦЕПЬ;
     nSize:ЦЕЛ
                        ):ЦЕЛ; ВЫЗОВ "GetModuleFileNameW" ИЗ "kernel32.dll";

(*────────────────────────────────────────────────────────────────────────────*)
ЗАДАЧА* Zadacha1-(адрЦепи:ЦЕЛ);
ПЕР
  имя:ЦЕПЬ[300];
  знак:ЗНАК;
  поз:ЦЕЛ;
  ответ:ЦЕЛ;
УКАЗ
  ответ:=GetModuleFileName(hInstance,имя,РАЗМЕР(имя));
  Вывод.Цепь("Работает 'Zadacha1' из библиотеки '");
  Вывод.Цепь(имя);
  Вывод.Цепь("'.^");
  (* переписываем входную цепочку *)
  поз:=0;
  ПОВТОРЯТЬ 
    ОБХОД.ИзПамяти(адрЦепи,знак);
    имя[поз]:=знак;
    УВЕЛИЧИТЬ(адрЦепи,2);
    УВЕЛИЧИТЬ(поз)
  ДО знак = 0X;
  (* вывод значения *)
  Вывод.Цепь("Значение <цепь>: '");
  Вывод.Цепь(имя);
  Вывод.Цепь("'.^^");
КОН Zadacha1;

(*────────────────────────────────────────────────────────────────────────────*)
ЗАДАЧА* Zadacha2-(набор+:Набор);
УКАЗ
  Вывод.Цепь("Работает 'Zadacha2' из той же библиотеки.^");
  Вывод.ЧВещ("Значение <набор>: (%f;%f).^^",набор.ц,набор.в,0,0);
  (* изменим значение *)
  набор.ц:=3;
  набор.в:=4;
КОН Zadacha2;

(*────────────────────────────────────────────────────────────────────────────*)
УКАЗ                                          (* считываем приёмники ДПБ *)
  Асм.ПриёмникиДПБ(hInstance,reason,param)
КОН Biblioteka.




Вопросы, замечания и предложения высылайте на atimopheyev@yahoo.com или Издателю Глагола:
 email
 
Главная     ◄Глагол     ◄Азбука     ◄Задачи на Глаголе     Примеры приложений ►   Среда разработки ►   Отладка программ ►   Отличия от Оберона ►   Отличия от Паскаля ►   Ассемблер ARM ►   Глагол для ARM ►   ? и Ответы